// 历史同概统计结果
export interface HistoricalSimilarStats {
  total_matches: number
  home_wins: number
  draws: number
  away_wins: number
  home_win_rate: number
  draw_rate: number
  away_win_rate: number
}

// 欧洲赔率预测相关类型
export interface MatchPredictEurope168 {
  fid: number | null
  season_id: number | null
  homeid: number | null
  awayid: number | null
  event_name: string | null
  order_num: string | null
  ownerdate: string | null
  matchtime: string | null
  homesxname: string | null
  awaysxname: string | null
  home_initial: number | null
  draw_initial: number | null
  away_initial: number | null
  home_final: number | null
  draw_final: number | null
  away_final: number | null
  homescore: number | null
  awayscore: number | null
  prob_home_win: number | null
  prob_draw: number | null
  prob_away_win: number | null
  
  // 风险分析相关属性
  showRiskAnalysis?: boolean
  riskAnalysisLoading?: boolean
  riskAnalysisData?: HistoricalSimilarStats
}

export interface MatchPredictEurope168Condition {
  current_page?: number  // 当前页码，默认第1页
  page_size?: number     // 每页大小，默认20条
  event_name?: string | null  // 赛事名称
  order_num?: string | null  // 订单号
  homesxname?: string | null  // 主队名称
  awaysxname?: string | null  // 客队名称
  s_time?: string | null  // 比赛开始时间 yyyy-mm-dd
  e_time?: string | null  // 比赛结束时间 yyyy-mm-dd
  ownerdate_s?: string | null  // 所属日期开始 yyyy-mm-dd
  ownerdate_e?: string | null  // 所属日期结束 yyyy-mm-dd
  
  // 初始赔率范围
  home_initial_min?: number | null  // 主队初始赔率最小值
  home_initial_max?: number | null  // 主队初始赔率最大值
  draw_initial_min?: number | null  // 平局初始赔率最小值
  draw_initial_max?: number | null  // 平局初始赔率最大值
  away_initial_min?: number | null  // 客队初始赔率最小值
  away_initial_max?: number | null  // 客队初始赔率最大值
  
  // 最终赔率范围
  home_final_min?: number | null  // 主队最终赔率最小值
  home_final_max?: number | null  // 主队最终赔率最大值
  draw_final_min?: number | null  // 平局最终赔率最小值
  draw_final_max?: number | null  // 平局最终赔率最大值
  away_final_min?: number | null  // 客队最终赔率最小值
  away_final_max?: number | null  // 客队最终赔率最大值
  
  // 比分范围
  homescore_min?: number | null  // 主队得分最小值
  homescore_max?: number | null  // 主队得分最大值
  awayscore_min?: number | null  // 客队得分最小值
  awayscore_max?: number | null  // 客队得分最大值
  
  // 胜负概率范围
  prob_home_win_min?: number | null  // 主胜概率最小值
  prob_home_win_max?: number | null  // 主胜概率最大值
  prob_draw_min?: number | null  // 平局概率最小值
  prob_draw_max?: number | null  // 平局概率最大值
  prob_away_win_min?: number | null  // 客胜概率最小值
  prob_away_win_max?: number | null  // 客胜概率最大值
}

export interface PaginationInfo {
  current_page: number  // 当前页码
  page_size: number     // 每页大小
  total: number         // 总记录数
  total_pages: number   // 总页数
}

export type MatchPredictEurope168ResponseData = {
  code: number
  message: string
  data: MatchPredictEurope168[] | null
  pagination: PaginationInfo
}

export interface HistoricalSimilarResponseData {
  code: number
  message: string
  data: HistoricalSimilarStats | null
}

// 爆冷分析统计结果
export interface ColdPlayAnalysisStats {
  total_matches: number
  error_matches: number
  error_matches_rate: number
}

// 爆冷分析响应数据
export interface ColdPlayAnalysisResponseData {
  code: number
  message: string
  data: ColdPlayAnalysisStats | null
}

// 历史同赔数据模型 (对应 t_match_europe_168 表字段)
export interface HistoricalSameOddsData {
  event_name: string | null
  fid: number | null
  season_id: number | null
  homeid: number | null
  awayid: number | null
  order_num: string | null
  ownerdate: string | null
  matchtime: string | null
  homesxname: string | null
  awaysxname: string | null
  homescore: number | null
  awayscore: number | null
  home_avg_points: number | null
  away_avg_points: number | null
  signal_home_initial: number | null
  signal_draw_initial: number | null
  signal_away_initial: number | null
  home_odds_0: number | null
  home_odds_24: number | null
  home_odds_48: number | null
  home_odds_72: number | null
  home_odds_167: number | null
  draw_odds_0: number | null
  draw_odds_24: number | null
  draw_odds_48: number | null
  draw_odds_72: number | null
  draw_odds_167: number | null
  away_odds_0: number | null
  away_odds_24: number | null
  away_odds_48: number | null
  away_odds_72: number | null
  away_odds_167: number | null
  
  // 同赔分析相关属性
  showSameOddsAnalysis?: boolean
  sameOddsAnalysisLoading?: boolean
  sameOddsAnalysisData?: SameOdds168AnalysisStats
}

// 历史同赔查询条件
export interface HistoricalSameOddsCondition {
  current_page?: number  // 当前页码，默认第1页
  page_size?: number     // 每页大小，默认20条
  event_name?: string | null  // 赛事名称
  season_id?: number | null  // 赛季ID
  homeid?: number | null  // 主队ID
  awayid?: number | null  // 客队ID
  order_num?: string | null  // 赛事编号
  homesxname?: string | null  // 主队名称
  awaysxname?: string | null  // 客队名称
  
  // 日期范围字段
  ownerdate_s?: string | null  // 所属日期开始 yyyy-mm-dd
  ownerdate_e?: string | null  // 所属日期结束 yyyy-mm-dd
  matchtime_s?: string | null  // 比赛时间开始 yyyy-mm-dd
  matchtime_e?: string | null  // 比赛时间结束 yyyy-mm-dd
  
  // 比分范围字段
  homescore_min?: number | null  // 主队得分最小值
  homescore_max?: number | null  // 主队得分最大值
  awayscore_min?: number | null  // 客队得分最小值
  awayscore_max?: number | null  // 客队得分最大值
  
  // 平均积分范围字段
  home_avg_points_min?: number | null  // 主队平均积分最小值
  home_avg_points_max?: number | null  // 主队平均积分最大值
  away_avg_points_min?: number | null  // 客队平均积分最小值
  away_avg_points_max?: number | null  // 客队平均积分最大值
  
  // 各时间点的主队赔率范围
  home_odds_0_min?: number | null  // 主队初始赔率最小值
  home_odds_0_max?: number | null  // 主队初始赔率最大值
  home_odds_24_min?: number | null  // 主队24小时赔率最小值
  home_odds_24_max?: number | null  // 主队24小时赔率最大值
  home_odds_48_min?: number | null  // 主队48小时赔率最小值
  home_odds_48_max?: number | null  // 主队48小时赔率最大值
  home_odds_72_min?: number | null  // 主队72小时赔率最小值
  home_odds_72_max?: number | null  // 主队72小时赔率最大值
  home_odds_167_min?: number | null  // 主队167小时赔率最小值
  home_odds_167_max?: number | null  // 主队167小时赔率最大值
  
  // 各时间点的平局赔率范围
  draw_odds_0_min?: number | null  // 平局初始赔率最小值
  draw_odds_0_max?: number | null  // 平局初始赔率最大值
  draw_odds_24_min?: number | null  // 平局24小时赔率最小值
  draw_odds_24_max?: number | null  // 平局24小时赔率最大值
  draw_odds_48_min?: number | null  // 平局48小时赔率最小值
  draw_odds_48_max?: number | null  // 平局48小时赔率最大值
  draw_odds_72_min?: number | null  // 平局72小时赔率最小值
  draw_odds_72_max?: number | null  // 平局72小时赔率最大值
  draw_odds_167_min?: number | null  // 平局167小时赔率最小值
  draw_odds_167_max?: number | null  // 平局167小时赔率最大值
  
  // 各时间点的客队赔率范围
  away_odds_0_min?: number | null  // 客队初始赔率最小值
  away_odds_0_max?: number | null  // 客队初始赔率最大值
  away_odds_24_min?: number | null  // 客队24小时赔率最小值
  away_odds_24_max?: number | null  // 客队24小时赔率最大值
  away_odds_48_min?: number | null  // 客队48小时赔率最小值
  away_odds_48_max?: number | null  // 客队48小时赔率最大值
  away_odds_72_min?: number | null  // 客队72小时赔率最小值
  away_odds_72_max?: number | null  // 客队72小时赔率最大值
  away_odds_167_min?: number | null  // 客队167小时赔率最小值
  away_odds_167_max?: number | null  // 客队167小时赔率最大值
}

// 历史同赔响应数据
export interface HistoricalSameOddsResponseData {
  code: number
  message: string
  data: HistoricalSameOddsData[] | null
  pagination: PaginationInfo
}

// 同赔168分析统计结果
export interface SameOdds168AnalysisStats {
  total_matches: number
  home_wins: number
  draws: number
  away_wins: number
  home_win_rate: number
  draw_rate: number
  away_win_rate: number
  most_common_score: string | null
  second_most_common_score: string | null
  third_most_common_score: string | null
  home_win_most_common_score: string | null
  home_win_second_most_common_score: string | null
  home_win_third_most_common_score: string | null
  away_win_most_common_score: string | null
  away_win_second_most_common_score: string | null
  away_win_third_most_common_score: string | null
}

// 同赔168分析响应数据
export interface SameOdds168AnalysisResponseData {
  code: number
  message: string
  data: SameOdds168AnalysisStats | null
}
